function isAuthenticated(): boolean { return false }
// ---cut---
export default defineNuxtRouteMiddleware(async(to, from) => {
  // isAuthenticated() 是一个示例方法，用于验证用户是否已认证
  console.log('defineNuxtRouteMiddleware auth', to, from)
  const nuxtApp = useNuxtApp()
  let user
  try {
    user = await useFetch('/api/user')
    // 由于 try/catch 块，Vue/Nuxt 编译器在这里丢失了上下文。
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  } catch (e) {
    user = null
  }
  if (!user) {
    // 为我们的 `navigateTo` 调用应用正确的 Nuxt 上下文。
    return nuxtApp.runWithContext(() => navigateTo('/auth'))
  }
  if (isAuthenticated() === false) {
    return navigateTo('/login') // 重定向到给定路由
  }
  // return abortNavigation('无权限') // 取消导航
})
